Skip to content

chore: migrate from GitVersion to release-please#446

Merged
katriendg merged 6 commits intomainfrom
chore/replace-gitversion-with-release-please
Apr 30, 2026
Merged

chore: migrate from GitVersion to release-please#446
katriendg merged 6 commits intomainfrom
chore/replace-gitversion-with-release-please

Conversation

@WilliamBerryiii
Copy link
Copy Markdown
Member

@WilliamBerryiii WilliamBerryiii commented Apr 25, 2026

Pull Request

IMPORTANT: Before submitting, please remove all sensitive data, secrets, tokens, or confidential information. Ensure you've redacted any NDA-covered information, IP addresses, resource names, or security-related details that shouldn't be publicly disclosed.

Description

Migrate GitHub-side release management from GitVersion + the custom create-release workflow to release-please-action v4.4.1 using the simple release type with a manifest-driven configuration. The new workflow is workflow_dispatch only (no auto-trigger on push) so releases remain explicitly gated.

This PR also removes the parallel Azure DevOps release-branch automation that was tightly coupled to GitVersion, since release management now runs from GitHub. The Azure DevOps github-push mirror pipeline is retained but trimmed of GitVersion references.

Net change: 17 files, +148 / -1364.

Related Issue

Relates to WI-01 (replace GitVersion with release-please on GitHub side).

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Blueprint modification or addition
  • Component modification or addition
  • Documentation update
  • CI/CD pipeline change
  • Other (please describe):

Implementation Details

Added

  • .github/workflows/release-please.ymlworkflow_dispatch-only workflow invoking googleapis/release-please-action@v4.4.1 (pinned).
  • release-please-config.jsonsimple release type, single root package.
  • .release-please-manifest.json — pinned to current version 2.8.0.

Disabled (kept on disk, renamed so GitHub no longer schedules it)

  • .github/workflows/create-release.yml.github/workflows/create-release.yml.disabled

Deleted

  • GitVersion.yml (root)
  • .azuredevops/pipelines/release-branch-create.yml
  • .azuredevops/docs/release-branch-create.md
  • .azdo/pipelines/github-push.yml (superseded by .azuredevops/pipelines/github-push.yml)

Modified (docs + ADO mirror)

  • docs/build-cicd/release-workflow.md — describes release-please trigger, manifest, and version bump flow.
  • docs/build-cicd/configuration-reference.md — replaces GitVersion config reference with release-please config reference.
  • .azuredevops/docs/github-push.md — removes GitVersion language.
  • .azuredevops/pipelines/github-push.yml — removes GitVersion variable group and step.
  • .azuredevops/README.md — drops the release-branch-create entry.
  • .github/copilot-instructions.md — points contributors at release-please instead of GitVersion.

Testing Performed

  • Terraform plan/apply
  • Blueprint deployment test
  • Unit tests
  • Integration tests
  • Bug fix includes regression test (see Test Policy)
  • Manual validation
  • Other: actionlint, yamllint, prettier --check, markdownlint-cli2 all pass on the changed files.

Validation Steps

# YAML / Actions
actionlint .github/workflows/release-please.yml
yamllint .github/workflows/release-please.yml release-please-config.json .release-please-manifest.json

# Formatting
npx prettier --check release-please-config.json .release-please-manifest.json .github/workflows/release-please.yml

# Markdown
npx markdownlint-cli2 \
  docs/build-cicd/release-workflow.md \
  docs/build-cicd/configuration-reference.md \
  .azuredevops/docs/github-push.md \
  .azuredevops/README.md \
  .github/copilot-instructions.md

All validators reported no errors at HEAD 6427d727.

Checklist

  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have run terraform fmt on all Terraform code
  • I have run terraform validate on all Terraform code
  • I have run az bicep format on all Bicep code
  • I have run az bicep build to validate all Bicep code
  • I have checked for any sensitive data/tokens that should not be committed
  • Lint checks pass (run applicable linters for changed file types)

Terraform / Bicep / test items are N/A — this PR is JSON + YAML + Markdown only.

Security Review

  • No credentials, secrets, or tokens are hardcoded or logged
  • RBAC and identity changes follow least-privilege principles
  • No new network exposure or public endpoints introduced without justification
  • Dependency additions or updates have been reviewed for known vulnerabilities
  • Container image changes use pinned digests or SHA references

The diff touches only release tooling configuration and docs. The release-please action is pinned to v4.4.1. No code paths, identity boundaries, or network resources are changed.

Note: a Grype scan of the repo (unrelated to files modified by this PR) reports 4 pre-existing CVEs in dependencies (go.opentelemetry.io/otel, postcss, uuid, github.com/jackc/pgx/v5). These should be addressed in a separate dependency-bump PR per precedent (#427, #444).

Additional Notes

  • HEAD: 6427d727 (up to date with main at c01b934f).
  • The new workflow is intentionally workflow_dispatch-only for this rollout; once verified, a follow-up PR can enable the standard push: branches: [main] trigger.
  • The ADO release-branch-create pipeline is removed because release-branch creation is now handled by release-please's release PR. The ADO github-push mirror remains.

Screenshots (if applicable)

N/A — no UI changes.

@WilliamBerryiii WilliamBerryiii requested a review from a team as a code owner April 25, 2026 03:20
- Add release-please config, manifest (seeded at 2.8.0), and workflow.
- Disable legacy create-release.yml to prevent double-tagging.
- Remove GitVersion setup/execute steps and tag-push from
  .azuredevops/pipelines/github-push.yml.
- Delete unused .azdo/pipelines/github-push.yml duplicate.
- GitVersion.yml is intentionally left in place; full deletion is
  tracked as follow-on work.

🤖 - Generated by Copilot
@WilliamBerryiii WilliamBerryiii force-pushed the chore/replace-gitversion-with-release-please branch from 6358b99 to aa306f5 Compare April 25, 2026 22:27
@github-actions
Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-04-25 22:37:58 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 217
Infrastructure Components 196
Blueprints 39
GitHub Resources 43
AI Assistant Guides (Copilot) 17
Total 512

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

@github-actions
Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-04-26 02:41:49 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 217
Infrastructure Components 196
Blueprints 39
GitHub Resources 43
AI Assistant Guides (Copilot) 17
Total 512

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

@WilliamBerryiii WilliamBerryiii changed the title chore(build): replace GitVersion with release-please on GitHub side chore: migrate from GitVersion to release-please Apr 26, 2026
@github-actions
Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-04-27 07:04:05 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 217
Infrastructure Components 196
Blueprints 39
GitHub Resources 43
AI Assistant Guides (Copilot) 17
Total 512

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

Copy link
Copy Markdown
Collaborator

@katriendg katriendg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Approved — Clean migration from GitVersion to release-please

Well-structured PR. The removal of legacy GitVersion tooling and ADO release-branch-create pipeline is thorough, and the new release-please.yml workflow is correctly configured with SHA-pinned actions and least-privilege permissions.

Items to address before merge

RI-01 (Medium) — Stale create-release.yml references in troubleshooting section (not inline — lines are outside the diff)

docs/build-cicd/release-workflow.md still references create-release.yml in four places within the troubleshooting section (around original lines ~692, ~870, ~915, ~1044). Since that workflow was renamed to .disabled, commands like gh workflow run create-release.yml and gh run list --workflow=create-release.yml will fail. These should be updated to release-please.yml with appropriate arguments.

RI-02, RI-03, RI-04 — See inline comments.

Verified — No Regressions

  • release-please-action SHA verified against v4.4.1 tag ✅
  • Workflow permissions correctly scoped ✅
  • release-please-config.json and .release-please-manifest.json correctly configured ✅
  • All GitVersion references removed from active config and pipeline files ✅
  • ADO github-push.yml properly trimmed of Versioning job ✅
  • All deleted files have cross-references cleaned in ADO docs ✅
  • workflow_dispatch-only trigger is intentional for rollout safety ✅

Comment thread .github/workflows/release-please.yml Outdated
Comment thread docs/build-cicd/release-workflow.md
Comment thread docs/build-cicd/release-workflow.md
@github-actions
Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-04-29 16:28:24 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 217
Infrastructure Components 196
Blueprints 39
GitHub Resources 43
AI Assistant Guides (Copilot) 17
Total 512

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

- update create-github-app-token comment to v3.1.1 (RI-02)

- migrate release-workflow.md references from create-release.yml to release-please.yml (RI-01)

- update mermaid diagram and narrative to remove Release Review Branch step (RI-03)

- bump ms.date to 2025-11-12 (RI-04)

📝 - Generated by Copilot
@github-actions
Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-04-30 03:53:51 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 217
Infrastructure Components 196
Blueprints 39
GitHub Resources 43
AI Assistant Guides (Copilot) 17
Total 512

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

@WilliamBerryiii
Copy link
Copy Markdown
Member Author

@katriendg Re RI-01 (stale create-release.yml references) — resolved in head 3a4b30d. All four references in docs/build-cicd/release-workflow.md updated to release-please.yml:

  • Manual Version Override (~L680-694): now uses Release-As: x.y.z commit footer + gh workflow run release-please.yml --ref main
  • Issue 8 / Hotfix flow (~L900-915): instructions reference release-please workflow
  • L870 and L1044: filename swaps to release-please.yml

Grep verified zero remaining create-release.yml or GitVersion/gitversion references in docs/. Thanks for the thorough review!

@github-actions
Copy link
Copy Markdown

📚 Documentation Health Report

Generated on: 2026-04-30 05:21:36 UTC

📈 Documentation Statistics

Category File Count
Main Documentation 217
Infrastructure Components 196
Blueprints 39
GitHub Resources 43
AI Assistant Guides (Copilot) 17
Total 512

🏗️ Three-Tree Architecture Status

  • ✅ Bicep Documentation Tree: Auto-generated navigation
  • ✅ Terraform Documentation Tree: Auto-generated navigation
  • ✅ README Documentation Tree: Manual README organization

🔍 Quality Metrics

  • Frontmatter Validation:
    success
  • Link Validation: success

This report is automatically generated by the Documentation Automation workflow.

@katriendg katriendg merged commit d2ced15 into main Apr 30, 2026
37 checks passed
@katriendg katriendg deleted the chore/replace-gitversion-with-release-please branch April 30, 2026 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants